import Vue from 'vue'
import Vuex from 'vuex'
import getters from './getters'
import app from './modules/app'
import settings from './modules/settings'
import user from './modules/user'

Vue.use(Vuex)

// 仓库store实例化
const store = new Vuex.Store({
  // 大项目 非常大 数据都是分门别类的维护在各自的小仓库中
  modules: {
    app,
    settings,
    user
  },
  // 全局的
  getters
  // {
  //   sidebar: state => {
  //     // 这里的state 是全局的state
  //     return state.app.sidebar
  //   },
  //   device: state => state.app.device,
  //   token: state => state.user.token,
  //   avatar: state => state.user.avatar,
  //   name: state => state.user.name

  // 设计思路: 数据一旦恶心  取数据非常麻烦 直接通过全局getters快捷访问
  // $store.state.user.userInfo.name.xx.xxx.xxxxx.xxxx 正常姿势
  // $store.getters.name 快捷访问模块内的数据

  // xxx(state) {
  //   return state.xx * 2
  // }
  // }
})

export default store
